#pragma once
#include "../Util/Singleton.h"
#include <assert.h>

#ifdef _WIN32
  #include <Windows.h>
#endif

//Graphic Manager class
class cGraphicManager : public cSingleton<cGraphicManager>
{
  private:
    unsigned int muiScreenXOffset;
    unsigned int muiScreenYOffset;
    unsigned int muiGameHeight;
    unsigned int muiGameWidth;
    unsigned int muiTileWidth;
    unsigned int muiTileHeight;
  protected:
    cGraphicManager(){;}
  public:
    friend class cSingleton<cGraphicManager>;
    void Init();
    void Deinit();
    void InitFrame();
    void SwapBuffers();
    unsigned int GetXScreenOffset() {return muiScreenXOffset;}
    unsigned int GetYScreenOffset() {return muiScreenYOffset;}
    void SetXScreenOffset(unsigned int luiXOffset) {muiScreenXOffset = luiXOffset;}
    void SetYScreenOffset(unsigned int luiYOffset) {muiScreenYOffset = luiYOffset;}
    unsigned int GetGameHeight() {return muiGameHeight;}
    unsigned int GetGameWidth() {return muiGameWidth;} 
    unsigned int GetTileHeight() {return muiTileHeight;}
    unsigned int GetTileWidth() {return muiTileWidth;}
};
